$(function(){
    /*
    * flow      用于控制整个程序运行的流程.....
    * */

    var allPage,endTime,page,searchKey,startNum,startTime,userId,flow =1;

    //为侧边栏的标签增加active
    function setSideActive()
    {
        for(var m=0;m<$('.sub_list').length;m++)
        {
            for(var n=0;n<$('.sub_list').eq(m).children('li').length;n++)
            {
                if( $('.sub_list').eq(m).children('li').eq(n).children('a').attr('href') .indexOf('rizhi_admin.html') >= 0 )
                {
                    $('.sub_list').eq(m).children('li').eq(n).addClass('active');
                    $('.sub_list').eq(m).children('li').eq(n).parent('ul').prev('h3').css({ 'color':'#fff' })
                    $('#accordion h3').eq(m).attr('onOff',0)
                };

            };

        };
    };
    setSideActive();

    //页面初始化时 为侧边栏一级菜单设置展开和折叠....
    function setFirstUnfold()
    {
        for( var i=0;i<$('.sub_list').length;i++ )
        {
            if($('#accordion h3').eq(i).attr('onOff') == 1)
            {
                $('.sub_list').eq(i).hide();
            }
            else
            {
                $('.sub_list').eq(i).show();
            };
        };
    };
    setFirstUnfold();

    // 页面初始化...给时间datetime-local设置初始化数据...
    var nowTimes = new Date();
    var preTimes = new Date();
    $('.startTime').val( formatTimeStamp(preTimes.setDate(nowTimes.getDate()-7)) );
    $('.endTime').val( formatTimeStamp(nowTimes.getTime() ) );

    // 校验起始日期不能大约结束日期...
    $('.endTime,.startTime').change(function () {

        var startNum =  new Date($('.startTime').val()).getTime();
        var endNum = new Date($('.endTime').val()).getTime();

        if( parseInt(startNum) >= parseInt(endNum) )
        {
            flow = 2;
            clearTable();
            alert('亲,起始时间不能大于结束时间...');
            $('.rizhi_admin tbody').append('<tr><td></td><td></td><td>亲,没有!</td><td></td><td></td></tr>');
            allPage = 1;
            return false;
        }
        else
        {
            flow = 1;
            // return;
            console.log(flow)
            if( flow == 1 )
            {//起始时间小于结束时间...可以进行搜索..
                startTime = new Date($('.startTime').val()).Format('yyyy-MM-dd hh:mm:ss');
                endTime = new Date($('.endTime').val()).Format('yyyy-MM-dd hh:mm:ss');
                searchKey = $('input[name = rizhi_cont]').val().sTrim();
                userId = $('.accountList option:selected').val()

                page = dailyRecordList( endTime,1,searchKey,10,startTime,userId )
                getPage(page);
            }
            else if( flow == 2 )
            {//不可以进行搜索...
                clearTable();
                alert('亲,起始时间不能大于结束时间...');
                $('.rizhi_admin tbody').append('<tr><td></td><td></td><td>亲,没有!</td><td></td><td></td></tr>');
                allPage = 1;
                return false;
            };

        };




    });

    // 页面初始化...获取所有账户...
    getAllAccount();

    // 获取所有账户将其追加到下拉菜单之中...用的是账户管理的接口..
    function getAllAccount()
    {

        $.ajax({
            async:false,
            cache:false,
            type:'post',
            headers: {"Accept-CMS-Token":token},
            url:getsystemlist,
            data:{
                departmentId:'',
                page:'',
                roleId:'',//跟接口文档的不一样,以这个为准;
                searchKey:'',
                status:0,
            },
            dataType:'json',
            success:function (data) {
                if( data.resultCode == 200 )
                {
                    var infolist = data.value.infolist;
                    var len = infolist.length;
                    for( var i = 0;i<len;i++ )
                    {
                        $('.accountList').append('<option value="'+infolist[i].userId+'">'+infolist[i].userName+'</option>');
                    };
                }
                else if( data.resultCode == 515 )
                {
                    reLogin();
                }
            },
            error:function(){
                console.log('账户接口请求失败...')
            }
        });

    };

    // 页面初始化...设置日志表格的列表...
    var initEndTime = new Date();
    initEndTime.setDate( new Date().getDate() - 7 );
    page = dailyRecordList( new Date().Format("yyyy-MM-dd hh:mm:ss"),1,'',10,initEndTime.Format("yyyy-MM-dd hh:mm:ss"),'' );
    getPage(page);

    // 页面的搜索功能...
    $('.search_rizhi').click(function () {
        // console.log(flow)

        if( flow == 1 )
        {//起始时间小于结束时间...可以进行搜索..
            startTime = new Date($('.startTime').val()).Format('yyyy-MM-dd hh:mm:ss');
            endTime = new Date($('.endTime').val()).Format('yyyy-MM-dd hh:mm:ss');
            searchKey = $('input[name = rizhi_cont]').val().sTrim();
            userId = $('.accountList option:selected').val()

            page = dailyRecordList( endTime,1,searchKey,10,startTime,userId )
            getPage(page);
        }
        else if( flow == 2 )
        {//不可以进行搜索...
            clearTable();
            alert('亲,起始时间不能大于结束时间...');
            $('.rizhi_admin tbody').append('<tr><td></td><td></td><td>亲,没有!</td><td></td><td></td></tr>');
            allPage = 1;
            return false;
        };

        // alert(endTime)

    });

    //当输入文本框中时,,,按下enter键,,,发起搜索,,,
    $(document).keydown(function(event){
        var ev = ev || event;

        if( ev.keyCode == 13 )
        {
            if( flow == 1 )
            {//起始时间小于结束时间...可以进行搜索..
                startTime = new Date($('.startTime').val()).Format('yyyy-MM-dd hh:mm:ss');
                endTime = new Date($('.endTime').val()).Format('yyyy-MM-dd hh:mm:ss');
                searchKey = $('input[name = rizhi_cont]').val().sTrim();
                userId = $('.accountList option:selected').val()

                page = dailyRecordList( endTime,1,searchKey,10,startTime,userId )
                getPage(page);
            }
            else if( flow == 2 )
            {//不可以进行搜索...
                clearTable();
                alert('亲,起始时间不能大于结束时间...');
                $('.rizhi_admin tbody').append('<tr><td></td><td></td><td>亲,没有!</td><td></td><td></td></tr>');
                allPage = 1;
                return false;
            };
        };

    });

    // 改变下拉菜单...日志的列表发生变化...
    function changeXiaLa(x)
    {
        $(x).change(function (){

            if( flow == 1 )
            {//起始时间小于结束时间...可以进行搜索..
                startTime = new Date($('.startTime').val()).Format('yyyy-MM-dd hh:mm:ss');
                endTime = new Date($('.endTime').val()).Format('yyyy-MM-dd hh:mm:ss');
                searchKey = $('input[name = rizhi_cont]').val().sTrim();
                userId = $('.accountList option:selected').val()

                page = dailyRecordList( endTime,1,searchKey,10,startTime,userId )
                getPage(page);
            }
            else if( flow == 2 )
            {//不可以进行搜索...
                clearTable();
                alert('亲,起始时间不能大于结束时间...');
                $('.rizhi_admin tbody').append('<tr><td></td><td></td><td>亲,没有!</td><td></td><td></td></tr>');
                allPage = 1;
                return false;
            };

        });
    };
    changeXiaLa('.accountList');

    // 获取日志的列表...
    function dailyRecordList( endTime,page,searchKey,startNum,startTime,userId )
    {
        //清空表格当中的数据,并且追加表头
        clearTable();

        $.ajax({
            async:false,
            cache:false,
            type:'post',
            headers: {"Accept-CMS-Token":token},
            url:listLog,
            data:{
                endTime:endTime,
                page:page,
                searchKey:searchKey,
                startNum:startNum,//就相当于其他页的size....一页展示的数据条数...
                startTime:startTime,
                userId:userId,
            },
            dataType:'json',
            success:successFn,
            error:function(){
                console.log('日志管理列表请求失败...')
            }
        });

        return allPage;
    };

    // 列表发送ajax请求成功之后要执行的函数....还没有好...
    function successFn( data )
    {
        if( data.resultCode == 200 )
        {
            var value = data.value;
            var len=value.length;
            allPage = data.count;

            for( var i=0;i<len;i++ )
            {
                $('.rizhi_admin tbody').append('<tr id="'+value[i].id+'"></tr>');

                $('.rizhi_admin tbody tr').eq(i).append('<td>'+(i+1)+'</td>');//序号

                $('.rizhi_admin tbody tr').eq(i).append('<td>'+changeNull(value[i].username)+'</td>');//操作人

                $('.rizhi_admin tbody tr').eq(i).append('<td>'+changeNull(value[i].methodDescription)+'</td>');//操作信息

                $('.rizhi_admin tbody tr').eq(i).append('<td>'+'空'+'</td>');//日志等级

                $('.rizhi_admin tbody tr').eq(i).append('<td>'+formatUsualStamp(value[i].createTime)+'</td>');//操作时间

            };

        }
        else if(data.resultCode == 515)
        {
            reLogin();
        }
        else
        {//表格的内容为空....一般状态码是500...
            $('.rizhi_admin tbody').append('<tr><td></td><td></td><td>您搜索的内容不存在</td><td></td><td></td></tr>');
            hintUser();
            return allPage = 1;
        };
        console.log('日志管理列表请求成功!!!!')

    };

    //清空表格当中的数据,并且追加表头
    function clearTable()
    {
        $('.rizhi_admin').html('');
        $('.rizhi_admin').append('<thead><tr><th>序号</th><th>操作人</th><th>操作信息</th><th>日志等级</th><th>操作时间</th></tr></thead><tbody></tbody>');
    };

    // 当后台状态码是515时,让客户重新登录
    function reLogin()
    {
        alert('登录超时,请重新登录!');
        localStorage.clear();
        window.location.href = login_jump;
    };

    // 分页插件封装   为分页插件传递数据
    function getPage(allPage)
    {
        $('.M-box2').pagination({
            pageCount:allPage,
            jump:true,
            coping:true,
            homePage:'首页',
            endPage:'末页',
            prevContent:'上页',
            nextContent:'下页',
            callback:function (api){//当点击页面当中的时候,会出发这个callback函数;;;;
                page = api.getCurrent()+"";//得到的是要跳转到的那一页的页码;
                startTime = new Date($('.startTime').val()).Format('yyyy-MM-dd hh:mm:ss');
                endTime = new Date($('.endTime').val()).Format('yyyy-MM-dd hh:mm:ss');
                userId = $('.accountList option:selected').val();
                searchKey = $('input[name = rizhi_cont]').val().sTrim();

                dailyRecordList( endTime,page,searchKey,10,startTime,userId );
            }
        });
    };





});
